package it.clariter.web.action;

import java.util.List;

import it.clariter.dao.AreaDAO;
import it.clariter.dao.AziendaDAO;
import it.clariter.dao.DocumentoDAO;
import it.clariter.dao.TipologiaDocumentoDAO;
import it.clariter.dao.VersoDAO;
import it.clariter.model.Area;
import it.clariter.model.Azienda;
import it.clariter.model.Documento;
import it.clariter.model.TipologiaDocumento;
import it.clariter.model.Verso;
import it.clariter.web.form.DocumentoForm;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class RicercaDocumentoAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {

		if(request.getSession().getAttribute("utente")==null){
			response.sendRedirect("login.jsp");
		}
		
		DocumentoForm l = (DocumentoForm) form;
		
		Documento doc = new Documento();
		doc.setLocalizzazione(l.getLocalizzazione());
		doc.setProtocollo(l.getProtocollo());
		doc.setDescrizione(l.getDescrizione());
		doc.setMittenteDestinatario(l.getMittenteDestinatario());
		
		int attivo=100;
		if(request.getParameter("attivo")!=null)
			attivo=11;
		
		doc.setAttivo(attivo);
		
		Area area = new AreaDAO().get(l.getIdArea());
		Verso verso = new VersoDAO().get(l.getIdVerso());
		TipologiaDocumento tipdoc = new TipologiaDocumentoDAO().get(l.getIdTipologia());
		Azienda azienda = new AziendaDAO().get(l.getIdAzienda());
		
		doc.setArea(area);doc.setAzienda(azienda);doc.setTipologiaDocumento(tipdoc);doc.setVerso(verso);
		
		List<Documento> listaDocumenti = new DocumentoDAO().findByExample(doc);
		
		HttpSession session = request.getSession();
		session.setAttribute("documenti", listaDocumenti);
		session.setAttribute("documentoPerRicerca", doc);
		
		return mapping.findForward("ok");

	}

}
